.ds Rv 5.10.1
.ds Dt 2024-07-20
.ds i \&\s-1ISO\s0
.ds r \&\s-1RCS\s0
.ds u \&\s-1UTC\s0
.ds o \*r file
.if n .ds - \%--
.if t .ds - \(em
.TH RCSDIFF 1 "\*(Dt" "GNU RCS \*(Rv"
.SH NAME
rcsdiff \- compare RCS revisions
.SH SYNOPSIS
.B rcsdiff
[
.BI \-k subst
] [
.B \-q
] [
.BI \-r rev1
[
.BI \-r rev2
] ] [
.B \-T
] [
.RI "\f3\-V\fP[" n ]
] [
.BI \-x suffixes
] [
.BI \-z zone
] [
.I "diff options"
]
.I "file .\|.\|."
.SH DESCRIPTION
.B rcsdiff
runs
.BR diff (1)
to compare two revisions of each \*o given.
.PP
Filenames matching an \*r suffix denote \*os;
all others denote working files.
Names are paired as explained in
.BR ci (1).
.PP
The option
.B \-q
suppresses diagnostic output.
Zero, one, or two revisions may be specified with
.BR \-r .
The option
.BI \-k subst
affects keyword substitution when extracting
revisions, as described in
.BR co (1);
for example,
.B "\-kk\ \-r1.1\ \-r1.2"
ignores differences in keyword values when comparing revisions
.B 1.1
and
.BR 1.2 .
To avoid excess output from locker name substitution,
.B \-kkvl
is assumed if (1) at most one revision option is given,
(2) no
.B \-k
option is given, (3)
.B \-kkv
is the default keyword substitution, and
(4) the working file's mode would be produced by
.BR "co\ \-l".
See
.BR co (1)
for details
about
.BR \-T ,
.BR \-V ,
.B \-x
and
.BR \-z .
Otherwise, all options of
.BR diff (1)
that apply to regular files are accepted, with the same meaning as for
.BR diff .
.PP
If both
.I rev1
and
.I rev2
are omitted,
.B rcsdiff
compares the latest revision on the
default branch (by default the trunk)
with the contents of the corresponding working file.  This is useful
for determining what you changed since the last checkin.
.PP
If
.I rev1
is given, but
.I rev2
is omitted,
.B rcsdiff
compares revision
.I rev1
of the \*o with
the contents of the corresponding working file.
.PP
If both
.I rev1
and
.I rev2
are given,
.B rcsdiff
compares revisions
.I rev1
and
.I rev2
of the \*o.
.PP
Both
.I rev1
and
.I rev2
may be given numerically or symbolically.
.SH EXAMPLE
The command
.LP
.B "        rcsdiff  f.c"
.LP
compares the latest revision on the default branch of the \*o
to the contents of the working file
.BR f.c .
.SH ENVIRONMENT
.TP
.B \s-1RCSINIT\s0
Options prepended to the argument list, separated by spaces.
A backslash escapes spaces within an option.
The
.B \s-1RCSINIT\s0
options are prepended to the argument lists of most \*r commands.
Useful
.B \s-1RCSINIT\s0
options include
.BR \-q ,
.BR \-V ,
.BR \-x ,
and
.BR \-z .
.TP
.B \s-1RCS_MEM_LIMIT\s0
Normally, for speed, commands either memory map or copy into memory
the \*o if its size is less than the
.IR memory-limit ,
currently defaulting to ``unlimited''.
Otherwise (or if the initially-tried speedy ways fail),
the commands fall back to using
standard i/o routines.
You can adjust the memory limit by setting
.B \s-1RCS_MEM_LIMIT\s0
to a numeric value
.IR lim
(measured in kilobytes).
An empty value is silently ignored.
As a side effect, specifying
.B \s-1RCS_MEM_LIMIT\s0
inhibits fall-back to slower routines.
.TP
.B \s-1TMPDIR\s0
Name of the temporary directory.
If not set, the environment variables
.B \s-1TMP\s0
and
.B \s-1TEMP\s0
are inspected instead and the first value found is taken;
if none of them are set,
a host-dependent default is used, typically
.BR /tmp .
.SH DIAGNOSTICS
Exit status is 0 for no differences during any comparison,
1 for some differences, 2 for trouble.
.ds EY 1990, 1991, 1992, 1993
.SH IDENTIFICATION
Author: Walter F. Tichy.
.br
Manual Page Revision: \*(Rv; Release Date: \*(Dt.
.br
Copyright \(co 2010-2022 Thien-Thi Nguyen.
.br
Copyright \(co \*(EY Paul Eggert.
.br
Copyright \(co 1982, 1988, 1989 Walter F. Tichy.
.br
.SH "SEE ALSO"
.BR ci (1),
.BR co (1),
.BR diff (1),
.BR ident (1),
.BR rcs (1),
.BR rcsmerge (1),
.BR rlog (1).
.PP
Walter F. Tichy,
\*r\*-A System for Version Control,
.I "Software\*-Practice & Experience"
.BR 15 ,
7 (July 1985), 637-654.
.PP
The full documentation for \*r is maintained as a Texinfo manual.
If the
.BR info (1)
and \*r programs are properly installed at your site, the command
.IP
.B info rcs
.PP
should give you access to the complete manual.
Additionally, the \*r homepage:
.IP
.B http://www.gnu.org/software/rcs/
.PP
has news and links to the latest release, development site, etc.
